<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>

</html>
<script>
    // 给定两个数组 nums1 和 nums2 ，返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。
    // function intersection(nums1, nums2) {
    //     let a = new Set(nums1)
    //     let b = new Set(nums2)
    //     let intersect = new Set([...a].filter(x => b.has(x)));
    //     return intersect = [...intersect]
    // };

    function intersection(nums1, nums2) {
        nums1 = nums1.sort((a, b) => a - b);
        nums2 = nums2.sort((a, b) => a - b);
        let res = new Set();
        let i = 0;
        let j = 0;
        while (i < nums1.length && j < nums2.length) {
            if (nums1[i] < nums2[j]) {
                i++;
            } else if (nums1[i] > nums2[j]) {
                j++;
            } else {
                res.add(nums1[i]);
                i++;
                j++;
            }
        }
        return [...res];
    };
    console.log(intersection([1,3,4,5],[2,3,4,5]));
</script>